/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.dp1.pucp.Modelo.Algoritmos;

import com.dp1.pucp.Modelo.Clases.Empleado;

/**
 *
 * @author Rodrigo
 */
public class EmpleadoAlgoritmo {
    
    //empleado eficienciamaquina1 eficienciamaquina2 eficienciamaquina3 eficienciamaquina4 capacidad
    private int idempleado;
    private int[] produccion = new int[4];
    private int[] mermas = new int[4];
    private int[] capacidad = new int[4];
    private double[] eficiencia = new double[4];
    private int tipoMaquinaAsignada;//0 Ninguna, 1 Horneado, 2 Decorado, 3 Rellenado, 4 Empaque
    private int maquina;
    private int turno;
    private Galleta galletaAsignada;

    /**
     * @return the idempleado
     */
    public EmpleadoAlgoritmo() {
    }

    public EmpleadoAlgoritmo( Empleado emp){
        idempleado = emp.getIdempleado(); 
        turno = (int)emp.getTurnoTrabajo();
    }
    public EmpleadoAlgoritmo(EmpleadoAlgoritmo emp){
    //falta codigo    
    
    }
     public EmpleadoAlgoritmo(int id, int[] prod, int[] mer) {
        idempleado = id;
        int[] prod2= new int[4];
        int[] merm2= new int[4];
        for(int i =0;i < prod.length;i++){
            prod2[i] = prod[i];
            merm2[i] = mer[2];
        }
        produccion = prod2;
        mermas = merm2;
        
        calcularCap(prod, mer);
    }
    public EmpleadoAlgoritmo(int id, int[] prod, int[] mer, int turn) {
        idempleado = id;
       int[] prod2= new int[4];
        int[] merm2= new int[4];
        for(int i =0;i < prod.length;i++){
            prod2[i] = prod[i];
            merm2[i] = mer[2];
        }
         produccion = prod2;
        mermas = merm2;
        turno = turn;
        calcularCap(prod, mer);
    }
    
//    public EmpleadoAlgoritmo(EmpleadoAlgoritmo emp){
//        this.idempleado = emp.idempleado;
//        this.tipoMaquinaAsignada = emp
//    }

    public int getIdempleado() {
        return idempleado;
    }

    /**
     * @param idempleado the idempleado to set
     */
    public void setIdempleado(int idempleado) {
        this.idempleado = idempleado;
    }

    /**
     * @return the eficiencias
     */
    public int[] getProduccion() {
        return produccion;
    }

    /**
     * @param eficiencias the eficiencias to set
     */
    public void setProduccion(int[] produccion) {
        this.produccion = produccion;
    }

    /**
     * @return the mermas
     */
    public int[] getMermas() {
        return mermas;
    }

    /**
     * @param mermas the mermas to set
     */
    public void setMermas(int[] mermas) {
        this.mermas = mermas;
    }

    /**
     * @return the capacidad
     */
    public int[] getCapacidad() {
        return capacidad;
    }

    /**
     * @param capacidad the capacidad to set
     */
    public void setCapacidad(int[] capacidad) {
        this.capacidad = capacidad;
    }

    /**
     * @return the tipoMaquinaAsignada
     */
    public int getTipoMaquinaAsignada() {
        return tipoMaquinaAsignada;
    }

    /**
     * @param tipoMaquinaAsignada the tipoMaquinaAsignada to set
     */
    public void setTipoMaquinaAsignada(int tipoMaquinaAsignada) {
        this.tipoMaquinaAsignada = tipoMaquinaAsignada;
    }

    /**
     * @return the galletaAsignada
     */
    public Galleta getGalletaAsignada() {
        return galletaAsignada;
    }

    /**
     * @param galletaAsignada the galletaAsignada to set
     */
    public void setGalletaAsignada(Galleta galletaAsignada) {
        this.galletaAsignada = galletaAsignada;
    }

    public void calcularCap(int[] produccion, int[] mermas) {
        for (int i = 0; i < produccion.length; i++) {
            this.capacidad[i] = (produccion[i] + mermas[i]);
            //this.eficiencia.add(produccion.get(i)*this.tipogalletaAsignada.getPorcentajesValor().get(i)*this.tipogalletaAsignada.getPrecio() - mermas.get(i)*this.tipogalletaAsignada.getPorcentajesValor().get(i)*this.tipogalletaAsignada.getCosto());
        }
    }

    /**
     * @return the eficiencia
     */
    public double[] getEficiencia() {
        return eficiencia;
    }

    /**
     * @param eficiencia the eficiencia to set
     */
    public void setEficiencia(double[] eficiencias) {
        this.eficiencia = eficiencias;
    }

    /**
     * @return the maquina
     */
    public int getMaquina() {
        return maquina;
    }

    /**
     * @param maquina the maquina to set
     */
    public void setMaquina(int maquina) {
        this.maquina = maquina;
    }

    /**
     * @return the turno
     */
    public int getTurno() {
        return turno;
    }

    /**
     * @param turno the turno to set
     */
    public void setTurno(int turno) {
        this.turno = turno;
    }
    
    //***********************************
    
    
}
